这里的压缩并不是对网站的图片压缩,而是对普通的静态文件,诸如html, js, css 等元素压缩。不要小看这个压缩功能,如果一个网站的请求量很大的话,这样可以节省海量带宽,在我国带宽资源非常昂贵,所以小小的一个压缩功能可以为企业节省不少的成本呢!下面就来看看如何配置它?
首先,需要看一下我们的apache是否支持压缩功能。
看看是否有mod_deflate
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| [root@lamp ~] Compiled in modules: core.c mod_authn_file.c mod_authn_default.c mod_authz_host.c mod_authz_groupfile.c mod_authz_user.c mod_authz_default.c mod_auth_basic.c mod_include.c mod_filter.c mod_log_config.c mod_env.c mod_setenvif.c mod_version.c prefork.c http_core.c mod_mime.c mod_status.c mod_autoindex.c mod_asis.c mod_cgi.c mod_negotiation.c mod_dir.c mod_actions.c mod_userdir.c mod_alias.c mod_so.c
|
如果这里没有,那继续看一下。下面有没有 mod_deflate.so 这个文件
1 2
| [root@lamp ~] httpd.exp libphp5.so mod_deflate.so mod_expires.so mod_rewrite.so
|
如果这里也没有,那说明你的apache不支持压缩,需要重编译一下,或者扩展形式安装,或者重新编译apache, 需要在编译的时候,加上 --enable-deflate=shared
好,如果你的apache有了deflate这个模块支持,也就支持了压缩功能。
下面该配置httpd.conf 了。
在httpd.conf 中增加 :
1
| LoadModule deflate_module modules/mod_deflate.so
|
然后再增加如下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <ifmodule mod_deflate.c> DeflateCompressionLevel 6 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/JavaScript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-PHP AddOutputFilterByType DEFLATE image/svg+xml <ifmodule>
|
为什么要指定文件类型来压缩?
答:压缩也是要消耗cpu资源的,图片/视频等文件,压缩效果也不好,一般压缩文本格式。
另外上述代码也可以根据实际情况删减。